home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1997 December / PC Pro December 1997 CD-Rom coverdisc.iso / dazdec / caplite / demo / DEMORUN.MST < prev    next >
Encoding:
Text File  |  1995-05-11  |  17.5 KB  |  584 lines

  1. '' DEMORUN.MST
  2. '**************************************************************************
  3. '*                       DEMORUN Demo Product Setup
  4. '**************************************************************************
  5.  
  6. ''$DEFINE DEBUG     ''Define for script development/debugging
  7. ''$DEFINE DISKSIZE  ''Define if you want to check for disk space
  8.  
  9. '$INCLUDE 'defines.inc'
  10.  
  11. '$INCLUDE 'setupapi.inc'
  12. '$INCLUDE 'msdetect.inc'
  13.  
  14. ''Dialog ID's
  15. CONST WELCOME           = 100
  16. CONST ASKQUIT           = 200
  17. CONST DESTPATH          = 300
  18. CONST EXITFAILURE       = 400
  19. CONST EXITQUIT          = 600
  20. CONST EXITSUCCESS       = 700
  21. CONST OPTIONS           = 800
  22. CONST APPHELP           = 900
  23. CONST DRIVESELECT       = 1100
  24. CONST BADPATH           = 6400
  25.  
  26. ''Bitmap ID
  27. CONST LOGO = 1
  28.  
  29. GLOBAL DEST$            ''Default destination directory.
  30. GLOBAL OPTCUR$          ''Null for now
  31. GLOBAL WINDRIVE$        ''Used in size test
  32.  
  33. GLOBAL SrcDir$
  34. GLOBAL WinDir$
  35. GLOBAL WinSysDir$
  36. GLOBAL WINdirectory$
  37.  
  38. GLOBAL NEWDEST$
  39. GLOBAL PRODUCT$
  40. GLOBAL VFW%             ''=1 if VFW Run Time previous install
  41. GLOBAL PRO%
  42. GLOBAL OKWRITE%
  43. GLOBAL OKWRITE1%
  44. GLOBAL OKWRITE2%
  45. GLOBAL OKWRITE3%
  46. GLOBAL Install_VFW%
  47. GLOBAL WIN_Sys_Write%
  48.  
  49. GLOBAL WantedDiskSize&  ''Used for disk size test
  50. GLOBAL WantedDataSize&  ''Used for disk size test frin INC file
  51.  
  52. DECLARE SUB Install
  53. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  54.  
  55. ''DECLARE FUNCTION DoProtect LIB "PROTECT.DLL" (szDisk$) AS INTEGER
  56.  
  57. INIT:
  58.     CUIDLL$   = "mscuistf.dll"              ''Custom user interface dll
  59.     HELPPROC$ = "FHelpDlgProc"      ''Help dialog procedure
  60.  
  61.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  62.     WinDir$ = GetWindowsDir()
  63.     WinSysDir$ = GetWindowsSysDir()
  64.     Install_VFW% = 1        ''default is to install VFW drivers
  65.     WIN_Sys_Write% = 1  ''default...can write to WIN SYS directory
  66.  
  67.     MajorVer% = GetWindowsMajorVersion()
  68.     MinorVer% = GetWindowsMinorVersion()
  69.  
  70.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  71.         i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  72.         END
  73.     END IF
  74.  
  75. '$IFDEF DEMOQUICK
  76.     PRODUCT$ = "DEMOQUICK"
  77. '$ELSEIFDEF VHELP
  78.     PRODUCT$ = "VHELP"
  79. '$ELSEIFDEF PRODDE
  80.     PRODUCT$ = "PRODDE"
  81. '$ELSEIFDEF CBIQUICK
  82.     PRODUCT$ = "CBIQUICK"
  83. '$ELSEIFDEF CBIPRO
  84.     PRODUCT$ = "CBIPRO"
  85. '$ELSE
  86.     i% = DoMsgBox("Product type not defined.", "Define product", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  87.     END
  88. '$ENDIF
  89.  
  90.     WinSysDir$ = GetWindowsSysDir()               ''Avoid the OnWindowsNT() call due to extra space
  91.     IF (WinSysDir$ = "SYSTEM32") OR (WinSysDir$ = "system32") THEN
  92.         Install_VFW% = 0
  93.     END IF
  94.  
  95.     SetBitmap CUIDLL$, LOGO
  96.  
  97.     IF (PRODUCT$="DEMOQUICK") OR (PRODUCT$="VHELP") OR (PRODUCT$="PRODDE") THEN
  98.         SetTitle "Demo/Tutorial Install ... Created with DEMOquick"
  99.     ELSE
  100.         SetTitle "Tutorial Install ... Created with CBIquick"
  101.     ENDIF
  102.  
  103.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  104.  
  105.     IF szInf$ = "" THEN
  106.         szInf$ = GetSymbolValue("STF_CWDDIR") + "DEMORUN.INF"
  107.     END IF
  108.  
  109.     ReadInfFile szInf$
  110.  
  111.     OPTCUR$ = "1"
  112.  
  113.     IF (PRODUCT$="DEMOQUICK") OR (PRODUCT$="VHELP") OR (PRODUCT$="PRODDE") THEN
  114.         DEST$ = MakePath( WinDir$, "capital.ini" )
  115.         DEST$ = GetIniKeyString( DEST$, "Pegasus Capital", "HOME" )
  116.         IF DEST$ = "" THEN
  117.             DEST$ = "C:\CAPITUT"
  118.         ELSE
  119.             DEST$ = MakePath( DEST$, "TUTORIAL" )
  120.         ENDIF
  121.     ELSE
  122.         DEST$ = "C:\CBIRUN"
  123.     ENDIF
  124.  
  125. WELCOME:
  126.  
  127. GETPATH:
  128.     SetSymbolValue "EditTextIn", DEST$
  129.     SetSymbolValue "EditFocus", "END"
  130.  
  131. GETPATHL1:
  132.     sz$   = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  133.     DEST$ = GetSymbolValue("EditTextOut")
  134.  
  135.     SetRestartDir DEST$
  136.  
  137.     IF sz$ = "CONTINUE" THEN
  138.  
  139.         IF IsDirWritable(DEST$) = 0 THEN
  140.             GOSUB BADPATH
  141.             GOTO GETPATHL1
  142.         END IF
  143.         UIPop 1
  144.  
  145.     ELSEIF sz$ = "REACTIVATE" THEN
  146.         GOTO GETPATHL1
  147.     ELSEIF sz$ = "BACK" THEN
  148.         UIPop 1
  149.         GOTO WELCOME
  150.     ELSE
  151.         GOSUB ASKQUIT
  152.         GOTO WELCOME
  153.     END IF
  154.  
  155.     ''------------------------------------------------------------------
  156.  
  157.     OKWRITE%  = IsDirWritable(WinDir$)
  158.     OKWRITE1% = IsDirWritable(WinSysDir$)
  159.     OKWRITE2% = IsFileWritable(MakePath(WinDir$, "SYSTEM.INI"))
  160.     OKWRITE3% = IsFileWritable(MakePath(WinDir$, "WIN.INI"))
  161.     IF ((OKWRITE% <> 1) OR (OKWRITE1% <> 1) OR (OKWRITE2% <> 1) OR (OKWRITE3% <> 1)) THEN
  162.         i% = DoMsgBox("Can't access WINDOWS directory...VFW Video drivers will not be installed.  Continuing the install.", "Setup Will Continue...", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  163.         i% = DoMsgBox("Your system administrator will need to load Microsoft Video-For-Windows 1.1a drivers if not already present.", "Video-For-Windows Drivers", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  164.         Install_VFW% = 0    ''Don't install drivers
  165.         WIN_Sys_Write% = 0
  166.     ENDIF
  167.  
  168.  
  169.     Install
  170.  
  171.     ''------------------------------------------------------------------
  172.  
  173. QUIT:
  174.     ON ERROR GOTO ERRQUIT
  175.  
  176.     IF ERR = 0 THEN
  177.         dlg% = EXITSUCCESS
  178.     ELSEIF ERR = STFQUIT THEN
  179.         dlg% = EXITQUIT
  180.     ELSE
  181.         dlg% = EXITFAILURE
  182.     END IF
  183. QUITL1:
  184.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  185.     IF sz$ = "REACTIVATE" THEN
  186.     GOTO QUITL1
  187.     END IF
  188.     UIPop 1
  189.  
  190.     END
  191.  
  192. ERRQUIT:
  193.     i% = DoMsgBox("Problem with SEETUP files, call (508) 263-3030 !", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  194.     END
  195.  
  196.  
  197.  
  198. BADPATH:
  199.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  200.     IF sz$ = "REACTIVATE" THEN
  201.         GOTO BADPATH
  202.     END IF
  203.     UIPop 1
  204.     RETURN
  205.  
  206.  
  207.  
  208. ASKQUIT:
  209.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  210.  
  211.     IF sz$ = "EXIT" THEN
  212.     UIPopAll
  213.     ERROR STFQUIT
  214.     ELSEIF sz$ = "REACTIVATE" THEN
  215.     GOTO ASKQUIT
  216.     ELSE
  217.     UIPop 1
  218.     END IF
  219.     RETURN
  220.  
  221. '**********************************************************************
  222. '** Install
  223. '**
  224. '** Purpose:
  225. '**     Builds the copy list and performs all installation operations.
  226. '** Arguments:
  227. '**     none.
  228. '** Returns:
  229. '**     none.
  230. '*************************************************************************
  231. SUB Install STATIC
  232.  
  233.     ''Save a copy of previous menu (if present)------------------------
  234.     DEST_MNU$ = DEST$ + "\DEMORUN.MNU"
  235.     OLD_MNU$   = DEST$ + "\OLD.MNU"
  236.     i% = DoesFileExist(DEST_MNU$, femExists)
  237.  
  238.     IF i% = 1 THEN
  239.         CopyFile DEST_MNU$, OLD_MNU$, cmoNone, 0
  240.     END IF
  241.     
  242.     ''--------------------------------------------------------------------
  243.  
  244.     ''Check the disk space - TEST THIS ON NETWORK DRIVES-----------------
  245.     WINDRIVE$ = MID$(DEST$, 1, 1)
  246.     
  247.     ''Define a minimum default size
  248.     WantedDiskSize&=4000000
  249.  
  250.     ''Get the size from create disk
  251.     '$INCLUDE 'DEMOSIZE.INC'
  252.  
  253.     ''Add amount for software overhead
  254.     WantedDiskSize& = WantedDataSize& + 1600000
  255.  
  256.     DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  257.  
  258.     IF WantedDiskSize& > DiskSize& THEN
  259.         i% = DoMsgBox("Not enough free disk space.  Please free some space and try again", "Insufficient Disk Space", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  260.         END
  261.     END IF
  262.     
  263.     ''-----------------------------------------------------------------------
  264.     
  265.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  266.     CreateDir DEST$, cmoNone
  267.  
  268.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  269.     WriteToLogFile ""
  270.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  271.     WriteToLogFile "  Installing DISK 1 to: '" + DEST$ + "'"
  272.     WriteToLogFile ""
  273.  
  274.     AddSectionFilesToCopyList "Files1", SrcDir$, DEST$
  275.     CopyFilesInCopyList
  276.     ClearCopyList
  277.  
  278.  
  279.     ''Add Video-For-Windows Run-Time files------------------------------
  280.     ''See if we can install VFW on system
  281.  
  282.     IF Install_VFW% = 1 THEN
  283.         AddSectionFilesToCopyList "VFW Runtime", SrcDir$, WinSysDir$
  284.         AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  285.         AddSectionFilesToCopyList "ACM Drivers", SrcDir$, WinSysDir$
  286.         AddSectionFilesToCopyList "Profile", SrcDir$, WinSysDir$
  287.         IF OKWRITE% <> 1 THEN
  288.             i% = DoMsgBox("Can't access WINDOWS directory.  Drivers not installed.  Install continuing.", "Video-For-Windows Drivers", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  289.             ClearCopyList
  290.         ELSE
  291.             ''Check windrive diskspace
  292.             SizeReq& = GetCopyListCost ("","", "")
  293.  
  294.             IF SizeReq& <> 0 THEN
  295.                 i% = DoMsgBox("The WINDOWS directory does not have enough disk space.  VFW Drivers will need to be installed if not already present.", "Can't Install Video-For-Windows Drivers", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  296.                 ClearCopyList
  297.                 Install_VFW% = 0
  298.             ELSE
  299.                 CopyFilesInCopyList
  300.             ENDIF
  301.         ENDIF
  302.     ENDIF
  303.  
  304.     ''Update WIN.INI and SYSTEM.INI......................................
  305.     IF Install_VFW% = 1 THEN
  306.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  307.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  308.         CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  309.         CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  310.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  311.         CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  312.         CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  313.         PRO% = DoesFileExist(MakePath(WinSysDir$, "PROFDISP.EXE"), femExists)
  314.         IF (PRO% = 1)  THEN
  315.             Run ("profdisp")
  316.         ENDIF
  317.     ENDIF
  318.  
  319.  
  320.     ''Setup DDELINK.INI and DDELINK.EXE in Windows dir if needed ----------------------------------
  321.  
  322.     ''i% = DoMsgBox("Checking for \ ...DEST$ = "+ DEST$, "DDELINK.INI SETUP", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  323.     IF MID$(DEST$, LEN(DEST$), 1) = "\" THEN
  324.         NEWDEST$ = MID$(DEST$, 1, LEN(DEST$)-1)
  325.         ''i% = DoMsgBox("Found \...NEWDEST$ = "+ NEWDEST$ + "   DEST$ = "+ DEST$, "DDELINK.INI SETUP", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  326.     ELSE
  327.         NEWDEST$ = DEST$
  328.         ''i% = DoMsgBox("NO Found \...NEWDEST$ = "+ NEWDEST$ + "DEST$ = "+ DEST$, "DDELINK.INI SETUP", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  329.     ENDIF
  330.  
  331.  
  332.     WINdirectory$ = GetWindowsDir()
  333.     IF ((PRODUCT$ = "VHELP") OR (PRODUCT$ = "PRODDE")) THEN     ''Make .INI files with default path
  334.         CreateIniKeyValue MakePath(DEST$,"ddelink.ini"), "DDELINK", "PATH", NEWDEST$, cmoOverwrite
  335.         IF WIN_Sys_Write% = 1 THEN
  336.             CreateIniKeyValue MakePath(WINdirectory$,"ddelink.ini"), "DDELINK", "PATH", NEWDEST$, cmoOverwrite
  337.             CopyFile MakePath(DEST$,"ddelink.exe"), MakePath(WINdirectory$,"ddelink.exe"), cmoNone, 0
  338.         ENDIF
  339.     ELSEIF (PRODUCT$ = "CBIPRO") THEN
  340.         CreateIniKeyValue MakePath(DEST$,"cbilink.ini"), "CBILINK", "PATH", NEWDEST$, cmoOverwrite
  341.         IF WIN_Sys_Write% = 1 THEN
  342.             CreateIniKeyValue MakePath(WINdirectory$,"cbilink.ini"), "CBILINK", "PATH", NEWDEST$, cmoOverwrite
  343.             CopyFile MakePath(DEST$,"cbilink.exe"), MakePath(WINdirectory$,"cbilink.exe"), cmoNone, 0
  344.         ENDIF
  345.     ENDIF
  346.  
  347.  
  348.     IF (PRODUCT$="DEMOQUICK") OR (PRODUCT$="VHELP") OR (PRODUCT$="PRODDE") THEN
  349.         CreateProgmanGroup "Pegasus Capital", "", cmoNone
  350.         ShowProgmanGroup  "Pegasus Capital", 1, cmoNone
  351.     ELSE
  352.         CreateProgmanGroup "CBIrun", WinDir$+"CBIRUN.GRP", cmoNone
  353.         ShowProgmanGroup  "CBIrun", 1, cmoNone
  354.     ENDIF   
  355.  
  356.     ''Append old .MNU menu to new
  357.     i% = DoesFileExist(OLD_MNU$, femExists)
  358.  
  359.     IF i% = 1 THEN
  360.     CopyFile OLD_MNU$, DEST_MNU$, cmoNone, 1
  361.     END IF
  362.  
  363.  
  364.     ''Get the icon label def created by DQ in Create Disk
  365.  
  366. '$IFDEF DEMOQUICK
  367.     CreateProgmanItem "Pegasus Capital", "Capital Tutorial", MakePath(DEST$, "DEMORUN.EXE"), "", cmoOverwrite
  368. '$ELSEIFDEF VHELP
  369.     '$INCLUDE 'DM_LAB_D.INC'
  370. '$ELSEIFDEF PRODDE
  371.     '$INCLUDE 'DM_LAB_D.INC'
  372. '$ELSEIFDEF CBIQUICK
  373.     '$INCLUDE 'DEMOLABL.INC'
  374. '$ELSEIFDEF CBIPRO
  375.     '$INCLUDE 'DM_LAB_D.INC'
  376. '$ELSE
  377.     i% = DoMsgBox("Product type not defined.", "Define product", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  378.     END
  379. '$ENDIF
  380.  
  381.  
  382.     ''Initializing definitions for DISK1-DISK20, up to 20 install disks
  383.     DISK1$ = ""
  384.     DISK2$ = ""
  385.     DISK3$ = ""
  386.     DISK4$ = ""
  387.     DISK5$ = ""
  388.     DISK6$ = ""
  389.     DISK7$ = ""
  390.     DISK8$ = ""
  391.     DISK9$ = ""
  392.     DISK10$ = ""
  393.     DISK11$ = ""
  394.     DISK12$ = ""
  395.     DISK13$ = ""
  396.     DISK14$ = ""
  397.     DISK15$ = ""
  398.     DISK16$ = ""
  399.     DISK17$ = ""
  400.     DISK18$ = ""
  401.     DISK19$ = ""
  402.     DISK20$ = ""
  403.  
  404.     ''Now use the DISKn variables set by DQ Create Disk to flag disks used
  405.     ''in this course install.  Example  DISK3 = "1" to flag disk 1 used.
  406.  
  407.     '$INCLUDE 'DISKNUM.INC'
  408.  
  409.     IF DISK2$ = "1" THEN
  410.     i% = DoMsgBox("Insert Disk # 2 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  411.     ClearCopyList
  412.     AddSectionFilesToCopyList "Files2", SrcDir$, DEST$
  413.     CopyFilesInCopyList
  414.     END IF
  415.  
  416.     IF DISK3$ = "1" THEN
  417.     i% = DoMsgBox("Insert Disk # 3 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  418.     ClearCopyList
  419.     AddSectionFilesToCopyList "Files3", SrcDir$, DEST$
  420.     CopyFilesInCopyList
  421.     END IF
  422.  
  423.     IF DISK4$ = "1" THEN
  424.     i% = DoMsgBox("Insert Disk # 4 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  425.     ClearCopyList
  426.     AddSectionFilesToCopyList "Files4", SrcDir$, DEST$
  427.     CopyFilesInCopyList
  428.     END IF
  429.  
  430.     IF DISK5$ = "1" THEN
  431.     i% = DoMsgBox("Insert Disk # 5 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  432.     ClearCopyList
  433.     AddSectionFilesToCopyList "Files5", SrcDir$, DEST$
  434.     CopyFilesInCopyList
  435.     END IF
  436.  
  437.     IF DISK6$ = "1" THEN
  438.     i% = DoMsgBox("Insert Disk # 6 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  439.     ClearCopyList
  440.     AddSectionFilesToCopyList "Files6", SrcDir$, DEST$
  441.     CopyFilesInCopyList
  442.     END IF
  443.  
  444.     IF DISK7$ = "1" THEN
  445.     i% = DoMsgBox("Insert Disk # 7 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  446.     ClearCopyList
  447.     AddSectionFilesToCopyList "Files7", SrcDir$, DEST$
  448.     CopyFilesInCopyList
  449.     END IF
  450.  
  451.     IF DISK8$ = "1" THEN
  452.     i% = DoMsgBox("Insert Disk # 8 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  453.     ClearCopyList
  454.     AddSectionFilesToCopyList "Files8", SrcDir$, DEST$
  455.     CopyFilesInCopyList
  456.     END IF
  457.  
  458.     IF DISK9$ = "1" THEN
  459.     i% = DoMsgBox("Insert Disk # 9 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  460.     ClearCopyList
  461.     AddSectionFilesToCopyList "Files9", SrcDir$, DEST$
  462.     CopyFilesInCopyList
  463.     END IF
  464.  
  465.     IF DISK10$ = "1" THEN
  466.     i% = DoMsgBox("Insert Disk # 10 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  467.     ClearCopyList
  468.     AddSectionFilesToCopyList "Files10", SrcDir$, DEST$
  469.     CopyFilesInCopyList
  470.     END IF
  471.  
  472.     IF DISK11$ = "1" THEN
  473.     i% = DoMsgBox("Insert Disk # 11 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  474.     ClearCopyList
  475.     AddSectionFilesToCopyList "Files11", SrcDir$, DEST$
  476.     CopyFilesInCopyList
  477.     END IF
  478.  
  479.     IF DISK12$ = "1" THEN
  480.     i% = DoMsgBox("Insert Disk # 12 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  481.     ClearCopyList
  482.     AddSectionFilesToCopyList "Files12", SrcDir$, DEST$
  483.     CopyFilesInCopyList
  484.     END IF
  485.  
  486.     IF DISK13$ = "1" THEN
  487.     i% = DoMsgBox("Insert Disk # 13 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  488.     ClearCopyList
  489.     AddSectionFilesToCopyList "Files13", SrcDir$, DEST$
  490.     CopyFilesInCopyList
  491.     END IF
  492.  
  493.     IF DISK14$ = "1" THEN
  494.     i% = DoMsgBox("Insert Disk # 14 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  495.     ClearCopyList
  496.     AddSectionFilesToCopyList "Files14", SrcDir$, DEST$
  497.     CopyFilesInCopyList
  498.     END IF
  499.  
  500.     IF DISK15$ = "1" THEN
  501.     i% = DoMsgBox("Insert Disk # 15 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  502.     ClearCopyList
  503.     AddSectionFilesToCopyList "Files15", SrcDir$, DEST$
  504.     CopyFilesInCopyList
  505.     END IF
  506.  
  507.     IF DISK16$ = "1" THEN
  508.     i% = DoMsgBox("Insert Disk # 16 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  509.     ClearCopyList
  510.     AddSectionFilesToCopyList "Files16", SrcDir$, DEST$
  511.     CopyFilesInCopyList
  512.     END IF
  513.  
  514.     IF DISK17$ = "1" THEN
  515.     i% = DoMsgBox("Insert Disk # 17 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  516.     ClearCopyList
  517.     AddSectionFilesToCopyList "Files17", SrcDir$, DEST$
  518.     CopyFilesInCopyList
  519.     END IF
  520.  
  521.     IF DISK18$ = "1" THEN
  522.     i% = DoMsgBox("Insert Disk # 18 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  523.     ClearCopyList
  524.     AddSectionFilesToCopyList "Files18", SrcDir$, DEST$
  525.     CopyFilesInCopyList
  526.     END IF
  527.  
  528.     IF DISK19$ = "1" THEN
  529.     i% = DoMsgBox("Insert Disk # 19 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  530.     ClearCopyList
  531.     AddSectionFilesToCopyList "Files19", SrcDir$, DEST$
  532.     CopyFilesInCopyList
  533.     END IF
  534.  
  535.     IF DISK20$ = "1" THEN
  536.     i% = DoMsgBox("Insert Disk # 20 now...", "Load Next Disk", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  537.     ClearCopyList
  538.     AddSectionFilesToCopyList "Files20", SrcDir$, DEST$
  539.     CopyFilesInCopyList
  540.     END IF
  541.  
  542.     CloseLogFile
  543.  
  544.     ClearCopyList
  545.  
  546.     ''Do RESTART if needed--------------------------------------------
  547.     IF RestartListEmpty() = 0 THEN
  548.         i% = DoMsgBox("Windows will now be exited and restarted.", "Setup Complete", MB_OK+MB_ICONINFORMATION)
  549.     err:
  550.         i% = ExitExecRestart()
  551.         i% = DoMsgBox("Windows cannot be restarted because MS-DOS applications are active.  Close all MS-DOS applications and then click on OK.", "Setup Complete", MB_OK+MB_ICONSTOP)
  552.         goto err
  553.     ENDIF
  554.  
  555.  
  556. END SUB
  557.  
  558.  
  559. '************************************************************************
  560. '** MakePath
  561. '**
  562. '** Purpose:
  563. '**     Appends a file name to the end of a directory path,
  564. '**     inserting a backslash character as needed.
  565. '** Arguments:
  566. '**     szDir$  - full directory path (with optional ending "\")
  567. '**     szFile$ - filename to append to directory
  568. '** Returns:
  569. '**     Resulting fully qualified path name.
  570. '*************************************************************************
  571. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  572.     IF szDir$ = "" THEN
  573.     MakePath = szFile$
  574.     ELSEIF szFile$ = "" THEN
  575.     MakePath = szDir$
  576.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  577.     MakePath = szDir$ + szFile$
  578.     ELSE
  579.     MakePath = szDir$ + "\" + szFile$
  580.     END IF
  581. END FUNCTION
  582.  
  583.                                                                                                  
  584.